#ifndef _FRM_TERRAIN_H
#define _FRM_TERRAIN_H

#include "Ogre.h"

//CEGUI
#include <CEGUI/CEGUI.h>
#include "OgreCEGUIRenderer.h"
#include "OgreCEGUIResourceProvider.h"

using namespace Ogre;
//using namespace CEGUI;

class frmTerrain
{
private:

public:
	frmTerrain();
	~frmTerrain();
	
	void subscribeEvents();
	void setup();
	bool fillConfigFromGui();
	//std::string getSelectedListItem(const CEGUI::EventArgs& e,std::string windowName);
	void fillHeightmapList();
	void fillTexturesList();
	void fillTexturesFoundList();
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	//Terrain GUI Events
	bool evtTerrainNew_click(const CEGUI::EventArgs& e);
	bool evtTerrainDelete_click(const CEGUI::EventArgs& e);
	bool evtTerrainRefresh_click(const CEGUI::EventArgs& e);
	bool evtTerrainGenerate_click(const CEGUI::EventArgs& e);
	bool evtTerrainList_click(const CEGUI::EventArgs& e);
	bool evtTerrainClose_click(const CEGUI::EventArgs& e);

	bool evtTerrainTexturesDiskList_click(const CEGUI::EventArgs& e);
	bool evtTerrainRemoveFromPalette_click(const CEGUI::EventArgs& e);
	bool evtTerrainAddToPalette_click(const CEGUI::EventArgs& e);
	
	bool evtTerrainBrushSize_change(const CEGUI::EventArgs& e);
	bool evtTerrainBrushIntensity_change(const CEGUI::EventArgs& e);

	bool evtTerrainPaintSize_change(const CEGUI::EventArgs& e);
	bool evtTerrainPaintIntensity_change(const CEGUI::EventArgs& e);

	bool evtTerrainTextureList_click(const CEGUI::EventArgs& e);


};

#endif